﻿using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using FikriKibar.Common.Helpers;
using FikriKibar.Entities.Abstract;

namespace FikriKibar.DataAccess.Abstract
{
    public interface IEntityRepository<T> where T : class, IEntity
    {
        List<T> GetAll();
        T Add(T entity);
        T Get(T entity);
        T Update(T entity);
        void Delete(T entity);
        List<T> Filter(Expression<Func<T, bool>> where);
        List<T> Filter(Expression<Func<T, bool>> where, SortHelper<T> sortHelper);
        List<T> Filter(Expression<Func<T, bool>> where, SortHelper<T> sortHelper, int index, int size);

    }
}
